Parameter Metadata Support

The JDBC driver provides parameter metadata support for databases that provide native support for parameter metadata. For databases that do not provide native parameter metadata support, such as Oracle or Informix, the JDBC driver supports parameter metadata for valid ANSI SQL SELECT statements.

INSERT and UPDATE Statements

The JDBC driver supports returning parameter metadata for all types of SQL statements for databases that provide native support for parameter metadata.

For databases that do not provide native parameter metadata support, the JDBC driver supports returning parameter metadata for the following forms of Insert and Update statements:

Select Statements

The JDBC driver supports returning parameter metadata for Select statements that contain parameters in ANSI SQL 92 entry-level predicates, for example, such as COMPARISON, BETWEEN, IN, LIKE, and EXISTS predicate constructs. Refer to the ANSI SQL reference for detailed syntax.

Parameter metadata can be returned for a Select statement if one of the following conditions is true:

The following Select statements show further examples for which parameter metadata can be returned:

SELECT col1, col2 FROM foo WHERE col1 = ? and col2 > ? 
SELECT ... WHERE colname = (SELECT col2 FROM t2  
   WHERE col3 = ?) 
SELECT ... WHERE colname LIKE ? 
SELECT ... WHERE colname BETWEEN ? and ? 
SELECT ... WHERE colname IN (?, ?, ?) 
SELECT ... WHERE EXISTS(SELECT ... FROM T2 WHERE col1 < ?) 

ANSI SQL 92 entry-level predicates in a WHERE clause containing GROUP BY, HAVING, or ORDER BY statements are supported. For example:

SELECT * FROM t1 WHERE col = ? ORDER BY 1 

Joins are supported. For example:

SELECT * FROM t1,t2 WHERE t1.col1 = ? 

Fully qualified names and aliases are supported. For example:

SELECT a, b, c, d FROM T1 AS A, T2 AS B WHERE A.a = ? 
   and B.b = ?"